<?php

namespace Ecom\ProdutosBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Ecom\ProdutosBundle\Entity\Categoria
 *
 * @ORM\Table(name="ecom_produto_categoria")
 * @ORM\Entity
 */
class Categoria
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string $nome
     *
     * @ORM\Column(name="nome", type="string", length=255, nullable=false, unique=true)
     */
    private $nome;

    /**
     * @var Produto
     *
     * @ORM\ManyToMany(targetEntity="Produto", mappedBy="categoria")
     */
    private $produto;

    public function __construct()
    {
        $this->produto = new \Doctrine\Common\Collections\ArrayCollection();
    }
    
    /**
     * Método necessário para listas em outros CRUD
     * 
     * @return string
     */
    public function __toString() {
        return $this->getNome();
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set nome
     *
     * @param string $nome
     */
    public function setNome($nome)
    {
        $this->nome = $nome;
    }

    /**
     * Get nome
     *
     * @return string 
     */
    public function getNome()
    {
        return $this->nome;
    }

    /**
     * Add produto
     *
     * @param Ecom\ProdutosBundle\Entity\Produto $produto
     */
    public function addProduto(\Ecom\ProdutosBundle\Entity\Produto $produto)
    {
        $this->produto[] = $produto;
    }

    /**
     * Get produto
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getProduto()
    {
        return $this->produto;
    }
}